package com.zzsz.mapper;

import com.zzsz.domain.EmailLog;
import com.zzsz.domain.Product;
import com.zzsz.domain.ProductCategory;
import io.lettuce.core.dynamic.annotation.Param;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
@Mapper
public interface ProductWarnMapper {

	/**
	 * 查询所有分类
	 * 先不查询分类下的具体商品，等需要的时候再查询
	 * @return 分类列表
	 */
	List<ProductCategory> selectAllCategory();

	/**
	 * 根据分类id列表查询商品
	 * @param categoryIds 分类id列表
	 * @return 商品列表
	 */
	List<Product> selectByCategoryIds(@Param("categoryIds") List<Integer> categoryIds);

	/**
	 * 变更预警状态
	 * @param product 商品对象
	 */
	void setWarnStatus(Product product);

	/**
	 * 更新预警阈值
	 * @param product 商品对象
	 */
	void updateThreshold(Product product);

	/**
	 * 根据商品id查询商品
	 * @param productId 商品id
	 * @return 商品对象
	 */
	Product selectById(Integer productId);

	/**
	 * 查找全部商品
	 *
	 */
	List<Product> selectAllProduct();

	/**
	 * 插入邮件日志
	 * @param emailLog 邮件日志对象
	 * @return 影响行数
	 */
	int insert(EmailLog emailLog);



}
